package org.springblade.modules.repair.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;

/**
 * @Date 14:31 2022/7/21
 * @Description {
 *   任务每天每人统计
 * }
 * @Author lsay
 **/
@Data
@EqualsAndHashCode(callSuper=true)
@TableName(value = "blade_maintain_plan_user_day_count")
public class MaintainPlanUserDayCount extends TenantEntity {
    /**
     * 工单id
     */
    @TableField(value = "plan_id")
    private Long planId;

    /**
     * 电梯id
     */
    @TableField(value = "elevator_id")
    private Long elevatorId;

    /**
     * 关联用户id
     */
    @TableField(value = "user_id")
    private Long userId;

    /**
     * 关联用户部门id集合 多个逗号隔开
     */
    @TableField(value = "user_dept_ids")
    private String userDeptIds;

    /**
     * 关联用户角色id集合 多个逗号隔开
     */
    @TableField(value = "user_role_ids")
    private String userRoleIds;

    /**
     * 1: 保养, 2: 维修, 3: 困人, 4: 部件更换
     */
    @TableField(value = "plan_type")
    private Integer planType;

    /**
     * 工单状态
     */
    @TableField(value = "plan_status")
    private Integer planStatus;

    /**
     * 时效性描述（1-及时 2-逾期）
     */
    @TableField(value = "timeliness")
    private Integer timeliness;

	/**
	 * 逾期 1-正常 2-逾期
	 */
	@TableField(value = "overdue")
	private Integer overdue;

    /**
     * 时长描述（1-正常 2-过长 3-过短）
     */
    @TableField(value = "duration")
    private Integer duration;

    /**
     * 工作时长 分钟（工单每日每人总时长）
     */
    @TableField(value = "work_time")
    private Integer workTime;

    /**
     * 签到正常次数
     */
    @TableField(value = "sign_normal")
    private Integer signNormal;

    /**
     * 签退正常次数 （包含系统代签）
     */
    @TableField(value = "sign_out_normal")
    private Integer signOutNormal;

    /**
     * 签到异常次数
     */
    @TableField(value = "sign_error")
    private Integer signError;

    /**
     * 签退异常次数
     */
    @TableField(value = "sign_out_error")
    private Integer signOutError;

    /**
     * 系统代签次数
     */
    @TableField(value = "sign_system")
    private Integer signSystem;

	/**
     * 开始时间
     */
    @TableField(value = "start_time")
    private Date startTime;

	/**
     * 结束时间
     */
    @TableField(value = "end_time")
    private Date endTime;

	/**
     * 记录时间
     */
    @TableField(value = "record_date")
    private Date recordDate;

	/**
	 * 计划时间
	 */
	@TableField(value = "plan_date",exist = false)
	private Date planDate;

	/**
	 * 用户名称
	 */
	@TableField(value = "real_name",exist = false)
	private String userName;

	/**
	 * 工单年审类型
	 */
	@TableField(exist = false)
	private Integer planAuditType;

	/**
	 * 工单实际作业时长，单位分钟
	 */
	@TableField(exist = false)
	private Integer workDuration;

	/**
	 * 工单人员
	 */
	@TableField(exist = false)
	private String planUserIds;

	/**
	 * 工单人员
	 */
	@TableField(exist = false)
	private String planUserNames;

}
